<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>正则表达式中的特殊字符--字符类</title>
    <!-- 
        字符类表示有一系列字符可供选择，只要匹配其中一个就可以了。
        所有可供选择的字符都放在方括号内。
        1. [] 方括号
        /[abc]/.test('andy') // true 
        后面的字符串只要包含 abc 中任意一个字符，都返回 true 。
        2. [-] 方括号内部范围符-
        /^[a-z]$/.test(c') // true
        方括号内部加上 - 表示范围，这里表示 a 到 z 26个英文字母都可以。
        3. [^] 方括号内部 取反符^
        /[^abc]/.test('andy') // false
        方括号内部加上 ^ 表示取反，只要包含方括号内的字符，都返回 false 。
        注意和边界符 ^ 区别，边界符写到方括号外面。
        4. 字符组合
        /[a-z1-9]/.test('andy') // true
        方括号内部可以使用字符组合，这里表示包含 a 到 z 的26个英文字母和 1 到 9 的数字都可以。

     -->
</head>
<body>
    
</body>
<script>
    // 只要包含abc就可以
    // var rg = /abc/
    // 字符类: [] 表示有一系列字符可供选择，只要匹配其中一个就可以了
    var rg = /[abc]/
    console.log(rg.test('andy'));
    console.log(rg.test('baby'));
    console.log(rg.test('color'));
    console.log(rg.test('red'));
    console.log('------------------');
    // 三选一 只有是a 或者是 b  或者是c 这三个字母才返回 true
    var rg1 = /^[abc]$/
    console.log(rg1.test('aa'));
    console.log(rg1.test('a'));
    console.log(rg1.test('b'));
    console.log(rg1.test('c'));
    console.log(rg1.test('abc'));
    console.log('------------------');
    // 26个英文字母任何一个字母返回 true  - 表示的是a 到z 的范围
    var reg = /^[a-z]$/
    console.log(reg.test('a'));
    console.log(reg.test('z'));
    console.log(reg.test(1));
    console.log(reg.test('A'));
    console.log('------------------');
     // 字符组合
     // 26个英文字母(大写和小写都可以)任何一个字母返回 true
     var reg1 = /^[a-zA-Z1-9_-]$/
     console.log(reg1.test('a'));
    console.log(reg1.test('B'));
    console.log(reg1.test(8));
    console.log(reg1.test('-'));
    console.log(reg1.test('_'));
    console.log(reg1.test('!'));
    console.log(reg1.test('+'));
    console.log('----------------');
    // 如果中括号里面有^ 表示取反的意思 千万和 我们边界符 ^ 别混淆
    var reg2 = /^[^a-zA-Z0-9_-]$/;
    console.log(reg2.test('a'));
    console.log(reg2.test('B'));
    console.log(reg2.test(8));
    console.log(reg2.test('-'));
    console.log(reg2.test('_'));
    console.log(reg2.test('!'));

</script>
</html>